package com.atguigu.java1;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

import org.junit.Test;

/*
 * 随机存取文件流:RandomAccessFile
 * 1.继承于java.lang.Object
 * 2.既可以充当输入流，又可以充当输出流
 * 
 * 3.作为输出流，如果输出到的文件不存在，则在输出过程中，自动创建此文件
 *           如果输出到的文件存在，则默认从文件开头的位置写入，覆盖原有的文件内容
 * 
 */
public class RandomAccessFileTest {
	
	@Test
	public void test2() throws IOException{
		
		RandomAccessFile raf = new RandomAccessFile("hello.txt", "rw");
		
		//指定指针指向的位置
		raf.seek(3);
		
		raf.write("xyz".getBytes());
		
		raf.close();
		
	}
	
	@Test
	public void test1() throws IOException{
		//1.
		RandomAccessFile raf1 = new RandomAccessFile("minghui.jpg", "r");
		RandomAccessFile raf2 = new RandomAccessFile("minghui3.jpg", "rw");
		//2.
		byte[] buffer = new byte[1024];
		int len;
		while((len = raf1.read(buffer)) != -1){
			raf2.write(buffer, 0, len);
		}
		//3.
		raf1.close();
		raf2.close();
	}
}
